package com.example.hospitalManage.entity;

import com.baomidou.mybatisplus.annotation.TableLogic;
import io.swagger.annotations.ApiModel;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.validation.constraints.NotNull;
import java.io.Serializable;
import java.util.Date;

/**
 * 订单表
 * @TableName order_order_info
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
@ApiModel(description = "order_order_info订单实体类")
public class OrderOrderInfo implements Serializable {
    /**
     * 编号
     */

    private Long id;

    /**
     * userid
     */
    private Long userId;

    /**
     * 订单交易号
     */
    private String outTradeNo;

    /**
     * 医院编号
     */
    private String hoscode;

    /**
     * 医院名称
     */
    @NotNull(message = "医院名称不能为空")
    private String hosname;

    /**
     * 科室编号
     */
    private String depcode;

    /**
     * 科室名称
     */
    @NotNull(message = "科室名称不能为空")
    private String depname;

    /**
     * 医生职称
     */
    @NotNull(message = "医生职称不能为空")
    private String title;

    /**
     * 排班编号（医院自己的排班主键）
     */
    private String hosScheduleId;

    /**
     * 安排日期
     */
    @NotNull(message = "安排日期不能为空")
    private Date reserveDate;

    /**
     * 安排时间（0：上午 1：下午）
     */
    private Integer reserveTime;

    /**
     * 就诊人id
     */
    private Long patientId;

    /**
     * 就诊人名称
     */
    @NotNull(message = "就诊人名称不能为空")
    private String patientName;

    /**
     * 就诊人手机
     */
    @NotNull(message = "就诊人手机不能为空")
    private String patientPhone;

    /**
     * 预约记录唯一标识（医院预约记录主键）
     */
    private String hosRecordId;

    /**
     * 预约号序
     */
    private Integer number;

    /**
     * 建议取号时间
     */
    private String fetchTime;

    /**
     * 取号地点
     */
    private String fetchAddress;

    /**
     * 医事服务费
     */
    private Integer amount;

    /**
     * 退号时间
     */
    private Date quitTime;

    /**
     * 订单状态
     */
    private Integer orderStatus;

    /**
     * 创建时间
     */
    private Date createTime;

    /**
     * 更新时间
     */
    private Date updateTime;

    /**
     * 逻辑删除(1:已删除，0:未删除)
     */

    @TableLogic//用于逻辑删除
    private Integer isDeleted;

    private static final long serialVersionUID = 1L;

}